// 此脚本用于删除数据库文件，以解决dueDate列添加问题
// 运行方式: node delete-database.js

const { app, remote } = require('electron');
const path = require('path');
const fs = require('fs');

// 模拟Electron的app对象
const mockApp = {
  getPath: function(name) {
    if (name === 'userData') {
      // Windows默认路径
      return path.join(process.env.APPDATA || '', 'desktop-widget-app');
    }
    return '';
  }
};

// 使用实际app对象或模拟对象
const appObj = typeof app !== 'undefined' ? app : mockApp;

// 获取数据库路径
const dataDir = appObj.getPath('userData');
const dbPath = path.join(dataDir, 'tasks.db');

console.log('数据库路径:', dbPath);

// 检查并删除数据库文件
if (fs.existsSync(dbPath)) {
  try {
    fs.unlinkSync(dbPath);
    console.log('数据库文件已成功删除。');
    console.log('重新启动应用程序后，将创建新的数据库文件并正确添加dueDate列。');
  } catch (error) {
    console.error('删除数据库文件失败:', error);
    console.log('请手动删除以下文件:', dbPath);
  }
} else {
  console.log('数据库文件不存在。');
  console.log('如果应用程序仍有问题，请尝试检查应用程序数据目录:', dataDir);
}

console.log('操作完成！');